]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
Don't fail if we can't find an application
authorColin Walters <walters@verbum.org>
Wed, 8 Jul 2009 15:54:15 +0000 (11:54 -0400)
committerColin Walters <walters@verbum.org>
Wed, 8 Jul 2009 15:54:15 +0000 (11:54 -0400)
Instead of logging and passing null through, explicitly skip
apps we don't know about.  It's valid to have say uninstalled
an app.

js/ui/appDisplay.js

index 298c9052758ce822e6ec6a6a4b335bde5f6a84ac..adc94cf02bc36688b8e66d354845c30ded3d85d5 100644 (file)
@@ -673,12 +673,16 @@ AppWell.prototype = {
         this._redisplay();
     },
 
-    _lookupApp: function(id) {
-        let app = this._appSystem.lookup_app(id);
-        if (!app) {
-          log("failed to look up app " + id);
-        };
-        return app;
+    _lookupApps: function(appIds) {
+        let result = [];
+        for (let i = 0; i < appIds.length; i++) {
+            let id = appIds[i];
+            let app = this._appSystem.lookup_app(id);
+            if (!app)
+                continue;
+            result.push(app);
+        }
+        return result;
     },
 
     _redisplay: function() {
@@ -693,8 +697,8 @@ AppWell.prototype = {
         let runningIds = this._appMonitor.get_running_app_ids().filter(function (e) {
             return !(e in favoriteIdsObject);
         });
-        let favorites = favoriteIds.map(Lang.bind(this, this._lookupApp));
-        let running = runningIds.map(Lang.bind(this, this._lookupApp));
+        let favorites = this._lookupApps(favoriteIds);
+        let running = this._lookupApps(runningIds);
         this._favoritesArea.redisplay(favorites);
         this._runningArea.redisplay(running);
         // If it's empty, we hide it so the top border doesn't show up